﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SGS.Standard.EventArgs
{
    public class PlayerTurnEventArgs : GameContextEventArgs
    {
        public PlayerTurnEventArgs(Player currentPlayer)
            : this(GamePool.Current, currentPlayer)
        {
        }

        public PlayerTurnEventArgs(GameContext gameContext, Player currentPlayer)
            : base(gameContext)
        {
            CurrentPlayer = currentPlayer;
            BeginStageCompleted = EndStageCompleted = GetCardFromPoolStageCompleted = JudgeStageCompleted = DiscardStageCompleted = false;
        }

        public Player CurrentPlayer
        {
            get;
            protected set;
        }

        public bool BeginStageCompleted
        {
            get;
            set;
        }

        public bool EndStageCompleted
        {
            get;
            set;
        }

        public bool GetCardFromPoolStageCompleted
        {
            get;
            set;
        }

        public bool HumanActorStageCompleted
        {
            get;
            set;
        }

        public bool JudgeStageCompleted
        {
            get;
            set;
        }

        public bool DiscardStageCompleted
        {
            get;
            set;
        }
    }
}
